<?php

class Caratulas extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->datosusuario = $this->authentication->getDataLogged();
        $this->datoscausa = $this->session->userdata('causa');
        $this->load->model('m_causa', 'causa');
        $this->load->model('m_caratula', 'caratula');

        $causa = $this->session->userdata('causa');
        $this->authentication->puedeVerCausa($causa['id']);
    }

    /*
     * Lista todas los estados de una causa.
     */

    function index() {
        $causa = $this->session->userdata('causa');
        $this->authentication->puedeVerCausa($causa['id']);

        $caratulas = $this->caratula->getListPorCausaId($causa['id']);

        $data = array(
            'titulo' => 'Historial de Carátulas',
            'datosusuario' => $this->datosusuario,
            'datoscausa' => $this->datoscausa,
            'caratulas' => $caratulas,
            'seleccionar' => 'causas',
        );

        $this->load->view('templates/header', $data);
        $this->load->view('templates/topbar');
        $this->load->view('causas/leftbarcausa');
        $this->load->view('caratulas/index');
        $this->load->view('templates/footer');
    }

    /**
     * Crea un nuevo caratula.
     *
     * @return void
     */
    function nuevo() {

        $this->form_validation->set_rules($this->caratula->getValidacion());
        if ($this->form_validation->run() === FALSE) {
            if (isset($_POST['submit'])) {
                set_message(array('3' => validation_errors()));
                $caratula = $_POST;
            } else {
                $data = $this->caratula->getUltimaCaratula($this->datoscausa['id']);
                $caratula['nombre'] = $data->nombre;
                $caratula['nroExpediente'] = $data->nroExpediente;
                $caratula['juzgado'] = $data->juzgado;
                $caratula['fiscalia'] = $data->fiscalia;
            }

            $data = array(
                'titulo' => 'Nueva Carátula',
                'datosusuario' => $this->datosusuario,
                'datoscausa' => $this->datoscausa,
                'caratula' => $caratula,
                'seleccionar' => 'causas',
            );

            $this->load->view('templates/header', $data);
            $this->load->view('templates/topbar');
            $this->load->view('causas/leftbarcausa');
            $this->load->view('caratulas/form');
            $this->load->view('templates/footer');
        } else {
            $this->load->model('m_logs', 'logs');
            $this->caratula->setAttributes($this->input);
            $this->caratula->causaId = $this->datoscausa['id'];
            $this->caratula->save();
            $this->caratula->logs('nuevo', $this->datosusuario['id'], $this->logs);

            set_message(array('1' => 'Se ha agregado una nueva carátula: "' . $this->caratula->nombre . '".'));

            redirect('caratulas/');
        }
    }

    /**
     * Edita un estudio caratula.
     *
     * @param integer $id El ID del estudio estado para editar.
     * @return void
     */
    function editar($id = '') {

        if ($id == '')
            redirect('caratulas/');


        if ($this->caratula->get((int) $id)) {

            $this->form_validation->set_rules($this->caratula->getValidacion(true));
            if ($this->form_validation->run() === FALSE) {
                if (isset($_POST['submit'])) {
                    set_message(array('3' => validation_errors()));
                    $caratula = $_POST;
                } else {
                    $caratula = $this->caratula->doArray();
                }

                $data = array(
                    'titulo' => 'Editar Carátula',
                    'datosusuario' => $this->datosusuario,
                    'datoscausa' => $this->datoscausa,
                    'caratula' => $caratula,
                    'seleccionar' => 'causas',
                );

                $this->load->view('templates/header', $data);
                $this->load->view('templates/topbar');
                $this->load->view('causas/leftbarcausa');
                $this->load->view('caratulas/form');
                $this->load->view('templates/footer');
            } else {
                $this->load->model('m_logs', 'logs');
                $_POST['id'] = $this->caratula->id;
                $_POST['causaId'] = $this->caratula->causaId;

                $this->caratula->setAttributes($this->input);
                $this->caratula->save();
                
                $this->caratula->logs('actualizar', $this->datosusuario['id'], $this->logs);

                set_message(array('1' => 'Se ha editado la carátula: ' . $this->caratula->nombre . '.'));

                redirect('caratulas/');
            }
        } else {
            redirect('caratulas/');
        }
    }

}

